From: Florian Müllner Date: Thu, 25 May 2023 19:23:24 +0000 (+0200) Subject: extensions-app: Port to ESM X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~337^2~2^2~19 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=80ac32a26838e3284aac0deae9f5ccff1550f0e3;p=gnome-shell.git extensions-app: Port to ESM The extensions app is another part of the code base that is largely separate from the main code base, and can therefore be ported to ESM before the big switch. Part-of: --- diff --git a/.eslintrc.yml b/.eslintrc.yml index f1edc4dcf..4fdede665 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -5,5 +5,6 @@ overrides: - files: - js/ui/init.js - js/dbusServices/** + - subprojects/extensions-app/** parserOptions: sourceType: module diff --git a/subprojects/extensions-app/js/gnome-extensions-app.in b/subprojects/extensions-app/js/gnome-extensions-app.in index dc6d62760..99d23204d 100644 --- a/subprojects/extensions-app/js/gnome-extensions-app.in +++ b/subprojects/extensions-app/js/gnome-extensions-app.in @@ -1,2 +1,2 @@ #!/bin/sh -@gjs@ @pkgdatadir@/@app_id@ "$@" +@gjs@ -m @pkgdatadir@/@app_id@ "$@" diff --git a/subprojects/extensions-app/js/main.js b/subprojects/extensions-app/js/main.js index dababa71a..912471ae8 100644 --- a/subprojects/extensions-app/js/main.js +++ b/subprojects/extensions-app/js/main.js @@ -1,10 +1,12 @@ -/* exported main */ -imports.gi.versions.Adw = '1'; -imports.gi.versions.Gtk = '4.0'; - -const Gettext = imports.gettext; +import Adw from 'gi://Adw?version=1'; +import GLib from 'gi://GLib'; +import Gio from 'gi://Gio'; +import GObject from 'gi://GObject'; +import Gtk from 'gi://Gtk?version=4.0'; +import Shew from 'gi://Shew'; + +import * as Gettext from 'gettext'; const Package = imports.package; -const { Adw, GLib, Gio, GObject, Gtk, Shew } = imports.gi; Package.initFormat(); @@ -540,9 +542,13 @@ function initEnvironment() { }; } -function main(argv) { +/** + * @param {string[]} argv - command line arguments + * @returns {void} + */ +export async function main(argv) { initEnvironment(); Package.initGettext(); - new Application().run(argv); + await new Application().runAsync(argv); } diff --git a/subprojects/extensions-app/js/org.gnome.Extensions.in b/subprojects/extensions-app/js/org.gnome.Extensions.in index da7ab2512..182393596 100644 --- a/subprojects/extensions-app/js/org.gnome.Extensions.in +++ b/subprojects/extensions-app/js/org.gnome.Extensions.in @@ -1,6 +1,10 @@ -imports.package.start({ +import {programInvocationName, programArgs} from 'system'; + +imports.package.init({ name: '@PACKAGE_NAME@', version: '@PACKAGE_VERSION@', prefix: '@prefix@', libdir: '@libdir@', }); +const {main} = await import(`${imports.package.moduledir}/main.js`); +await main([programInvocationName, ...programArgs]);